The present invention relates to a method according to the preamble of the appended claim 1 for transmitting data transmission flows preferably in a packet format between communication devices in a communication system comprising at least one data network. The invention also relates to a data transmission system according to the preamble of the appended claim 8, comprising at least a first and a second communication device, and means for activating at least one data transmission connection in order to transfer information between said communication devices. Furthermore, the invention relates to a wireless communication device according to the preamble of the appended claim 12.
In this specification, the term communication device refers for example to such data transmission devices by means of which it is possible to set up a data transmission connection to a data network in order to transmit and receive information. In the data transmission connection, information is transferred between different communication devices. The information to be transferred can include for example files, audio signals, video signals, or combinations of these (multimedia information). In this specification, the term data transmission flow refers to transmission of information related to the same source of information. For example in the transmission of a call, the transfer of an audio signal constitutes one data transmission flow. Correspondingly, to transfer multimedia information which contains audio and video information, advantageously two data transmission flows are thus established.
The data network can be composed of numerous communication devices. At present, for example the Internet data network comprises tens of millions of communication devices. Each communication device has an address which identifies the communication device in the Internet data network. This address information is used to guide different data transmission flows to the correct communication device. Such a data network is composed of routers, which are communication devices capable of routing the received data transmission flows forward. Terminals, in turn, are communication devices capable of transmitting and receiving data transmission flows. In the data network, the data transmission flows transmitted from a transmitting terminal can travel through several routers to the receiving terminal.
The Internet is made to function by determining specific telecommunication standards and protocols, such as TCP (Transfer Control Protocol), UDP (User Datagram Protocol), IP (Internet Protocol) and RTP (Real time Transport Protocol), which are used to control data transmission between numerous parts of the Internet data network. The TCP and the UDP are concerned with preventing and correcting data transmission errors of data transmitted in the Internet data network, the IP is concerned with the structure and routing of the data, and the RTP is designed for real-time data transmission in the Internet data network. The Internet protocol versions used at present are lPv4 and lPv6.
In multimedia applications, for example video image information, audio information and data information is transmitted between a transmitting and a receiving multimedia terminal. The information is transmitted for example by means of the Internet data network or another communication system, such as a general switched telephone network (GSTN). The transmitting multimedia terminal is for example a computer, generally also known as a server, of a company providing multimedia services. The data transmission connection between the transmitting and receiving multimedia terminal is set up in the Internet data network via routers. Information transfer can also be duplex, wherein the same multimedia terminal functions both as a transmitting and a receiving terminal.
The source of information can be advantageously a video application, an audio application, a data application, or a combination of these, all of which will be included within the common term multimedia application in this specification. In a multimedia application, the user of a multimedia terminal selects the location of the desired information source, wherein the system sets up a data transmission connection between the selected retrieval location of the information and the multimedia terminal of the user. In data transmission, data frames are typically used in which the information is transmitted in digital format. Separate data frames are advantageously formed of different types of information sources, and in some cases, information from two or more sources of information may be included in a single data frame. The data frames are transmitted in the communication system to the multimedia terminal of the user. In practical applications, these data frames are temporally interleaved, wherein the actual data transmission flow is composed of temporally separated data frames of various applications. There are also systems under development, in which a separate logical data transmission channel is allocated for different types of applications and in which e.g. different frequencies, or in CDMA-based systems, different code keys are used. In practice, the data transmission capacity of such communication systems is limited e.g. due to the fact that the data transmission channel is physically band restricted, and there may exist several data transmission connections simultaneously, wherein it is not possible to allow any data transmission connection to use the capacity of the entire communication system. In mere audio applications, this does not usually constitute a significant drawback because the amount of information to be transferred is relatively small. However, in the transmission of video information, this restricted band sets great demands for the communication system.
The use of multimedia applications has also been under development in low bit rate communication systems, wherein the data transmission rates are in the order of 64 kbit/s or lower.
FIG. 1a illustrates data transmission between two terminals MS, RH. Correspondingly, FIG. 1b shows the different layers in the protocol stack of the data transmission connection. It is presumed in the example that the information is transmitted via a single router R, but it is obvious that in practice there may be a considerably larger number, even several dozens of routers. The information to be transferred is composed in an application, wherein the term application layer AL will be used for the functions of this layer. In the application layer, the information can be arranged according to a protocol, or it can be in a format recognized by the application. In the transmitting terminal, the information is transferred from the application layer to a lower network layer NL in the protocol stack, or directly to a link layer LL. In the network layer, the information of the application layer is arranged into frames according to any network layer protocol, for example into frames of the Internet protocol (IP). The purpose of the network layer is, for instance, to supplement the frames with routing information. The frames of the network layer protocol are transferred to the link layer, in which the frames are arranged into link layer frames. These link layer frames are channel coded to enable the actual data transmission between the communication devices. The term physical layer is used for this data transmission layer. The physical layer can comprise wired communication devices, such as a landline telecommunication network, and wireless communication devices, such as a mobile communication network, infrared communication devices, or inductive communication devices. Thus, the data transmission can take place via various data transmission channels. However, between two communication devices one data transmission mode is typically used. In the router, the received information of the physical layer is converted into link layer frames. In some routers, it is possible to route the frames further already on the basis of the information located in the link layer frames. If this is not possible, a conversion to the network layer level is also conducted in the router, wherein the router utilizes the information in the frames of the network layer protocol in order to determine where to transmit the frames further.
For example in an audio application, an analog audio signal is first converted to a digital signal, wherein it is composed of a group of numerical values. In the transmitting terminal, these numerical values are transmitted to the network layer level in the protocol stack in which the information is arranged into frames according to the network layer protocol. These are transferred further to the link layer to form link layer frames and to transfer them via a data network to the receiving terminal. In the receiving terminal, reversed procedures are conducted, i.e. the protocol structure of the link layer is broken up to reconstruct the frames according to the network layer protocol. Correspondingly, in the network layer, the frame structure of the network layer protocol is broken up, wherein in this example the actual information, i.e. the numerical values representing the audio signal, are transferred to the application layer. On the basis of these numerical values, a digital/analog conversion is conducted in the application layer to produce an analog audio signal. Said protocol conversions are advantageously conducted in such a way that they remain invisible to the applications, and thus the applications do not have to be aware of the format in which the information is transferred in the data network.
If information is transferred between two communication devices, the term point-to-point connection can be used for this kind of connection. For such a point-to-point connection, for instance a PPP protocol (Point-to Point Protocol) is developed. The PPP protocol provides a standardized method for transferring data transmission flows according to different protocols between communication devices. Thus, the information to be transferred is framed into frames (packets) according to the PPP protocol, which are transferred in the communication system from a transmitting communication device to a receiving communication device. The information to be transferred can be in a format according to another protocol, for example in IP packets. The PPP protocol typically uses a frame according to an HDLC protocol (High-level Data Link Control). FIG. 2 shows an HDLC type framing of the PPP. The default value of the address field is the binary sequence 11111111, and the default value of the control field is 00000011, which indicate that the data transmission flow in question does not apply validity checking or frame numbering. The protocol field reports the protocol of the information contained in the information field. At the end of the frame, before a flag field, there is a check field FCS (Frame Check Sequence) which is for example a checksum calculated from the packet, such as a 16 bit CRC (Cyclic Redundancy Check). The flag fields are used to separate the beginning and the end of the frame. In practical applications it is common to combine the flag field indicating the end of the frame and the flag field indicating the beginning of the next frame, wherein two successive flag fields are not transmitted.
The PPP protocol is also provided with a format which enhances the reliability of the data transmission: numbered transmission. Thus, each packet is numbered wherein on the basis of this sequential number it is possible to deduce the correct order of the packets in the receiving device and to detect possible missing packets. The receiving device can transmit an acknowledgement and a request for retransmission, if necessary, as is known as such. In the PPP protocol, the numbered transmission mode affects only the content of the address and control fields. In the numbered transmission mode, the value of the address field is set into 1 or 3 in the PPP protocol, if the connection in question utilizes merely a single link, and into 7 or 15, if the connection utilizes a multi-link. It is obvious that the example values used in this specification only function as clarifying, not as restricting examples.
In data transmission according to the PPP protocol, a link control protocol (LCP) is used for setting up, configuring and testing the data transmission connection. Correspondingly, a network control protocol (NCP) is used to set up, configure and test different network layer protocols, such as IP.
In the PPP protocol, a PPP-MP protocol (PPP-multilink protocol) is developed to enable multilink data transmission. Thus, it is possible to transmit the frames of the same data transmission flow by using several different connections, for example on ISDN channels, which accelerates the data transmission in situations when it is possible to allocate several connections for a single data transmission flow. In packets according to this protocol, the protocol field contains information on the fact that they are packets according to the PPP-MP protocol. At the transmission stage these packets are also supplemented with a sequential number, on the basis of which it is possible at the receiving stage to arrange the packets received via various connections into the correct order. This is necessary because the order in which the packets arrive in the receiving terminal is not necessarily the same as the correct order of the packets. This is influenced for instance by the fact that different connections may have different delays. FIG. 3a shows one example of the framing of the PPP-MP packet, and FIG. 3b shows the fragmentation of a network layer protocol packet in the link layer into packets according to the PPP-MP protocol. In this specification, fragmentation refers to the act of dividing packets into smaller fragments. The size of the fragments may vary in different applications. In practice, fragmentation is advantageously conducted in such a way that a network layer protocol packet is framed as a link layer packet, i.e. it is supplemented with header information which advantageously contains data of the network layer protocol used in the packet. If necessary, padding data is provided at the end of the packet in order to attain a packet of desired size. After this the packet is divided into fragments of suitable size, and each fragment is supplemented with a HDLC type framing of the PPP, as well as with an MP header right before a fragment data field. The header of the PPP frame advantageously comprises an address field, a control field and a protocol field. The value of the address field is for example the binary sequence 11111111, the value of the control field is 00000011, and in the protocol field the protocol identification is 00000000-00111101. The MP header field contains a beginning flag, an end flag and a sequence number. The beginning flag is set into value 1 in the first fragment of the transmitting terminal. Correspondingly, the end flag is set into value 1 in the final fragment of the transmitting terminal. If the packet is composed of a single fragment, as for example short audio packets, both the beginning and the end flag are set into the value 1. The sequence number indicates the order of the fragment in the packet. In the PPP-MP protocol, the length of this sequence number field is either 12 or 24 bits.
In radio links, data is typically transferred on a channel which is a particular frequency area. There may be several channels available simultaneously in a single system. Furthermore, full duplex data transmission is provided with separate transmission and receiving channels, wherein for example a base station transmits to a terminal on the transmission channel and the terminal transmits to the base station on the receiving channel. The problem with radio links is that the radio channel is a restricted resource, which limits for instance the bandwidth to be allocated to the radio link, the channel width used in the data transmission, and/or the number of the channels, as well as the data transfer rate available. The radio channel is liable to interference, such as the distortion of the received signal caused by multipath propagation resulting from the fact that the same signal reaches the receiver along different routes at different times. In order to reduce the effect of the interference, part of the data transmission capacity has to be utilized to transmit error correction information with the packets, and it may require several re-transmissions of the packets to attain the desired error probability rate, which reduces the capacity of the radio link.
In such radio links in which several data transmission flows are transmitted on a single channel, the packets of these different data transmission flows are transmitted so that they are interleaved in time. The transmission order can be influenced by prioritizing the packets of different data transmission flows, wherein in a queuing situation, a packet of a higher priority flow is transmitted earlier than a packet of a lower priority flow. These include for example packets of a real-time application, the size of which is also attempted to be made as short as possible. On the other hand, packets of lower priority applications are often considerably longer than packets of higher priority. Such a long packet prevents the transmission of other packets as long as the packet is being transmitted, which may cause significant delays even for the transmission of higher priority packets and impair the service quality, unless there is a method available by means of which the transmission of a long packet can be interrupted when necessary.
In wireless data transmission, problems are also caused by the mobility of the wireless terminal, wherein when the connection of the terminal is changed to another base station, connection to the Internet also has to be set up via this base station. Thus, routing has to be changed as well, if necessary.
In digital mobile phone systems, such as the GSM system, it is possible to transmit messages via a connection oriented connection, such as a circuit-switched connection. An example of such connection oriented connection is a high-speed circuit-switched data connection (HSCSD). Furthermore, it is possible to transmit messages without establishing a circuit-switched connection. Such connectionless message transmission methods include for example the short message service SMS, the unstructured supplementary service data USSD, or the general packet radio service GPRS.
In packet-switched data transmission, information is typically transmitted in bursts, wherein the intervals between the bursts are affected by the amount of information to be transmitted, as well as by the amount of data transmission capacity allocated for the data transmission connection in question. The advantage of such a packet-switched data transmission connection, when compared to the circuit-switched data transmission connection, is for instance that it is not necessary to allocate the data transmission channel reserved for the connection solely for a single data transmission connection, but a number of different data transmission connections can utilize the same data transmission channel. In wireless mobile communication systems, the circuit-switched data transmission connection is typically also implemented in such a way that information of different connections is transmitted in different time slots (logical channels) on the same radio channel. The difference to the packet-switched connection is that even though there was no information to be transmitted in the time slot allocated to the data transmission connection in question, it cannot be utilized in other data transmission connections either. The high-speed circuit-switched data (HSCSD) which is under development for the GSM system, provides two connection types: a transparent connection and a non-transparent connection. In the transparent connection, the mobile communication network allocates resources for the connection in such a way that the connection has a substantially constant data transfer rate, and a constant propagation delay. In the non-transparent connection, the mobile communication network can change the channel coding and the data transfer rate if the situation so requires, wherein, for instance, it is possible to ensure a better error correction capability than in the transparent connection. The circuit-switched connection allocates at least one logical channel for the entire duration of the connection, which can unnecessarily consume the resources of the communication system.
In low bit rate serial data transmission connections, such as the HSCSD, the problem is how to simultaneously transmit non-real time data, such as files, as flawlessly as possible, and real-time data as fast as possible. A working team appointed by the Internet Engineering Task Force (IETF) organization has proposed two real-time packeting solutions for the purpose of minimizing the transmission delays of the real-time packets in a situation where a long data packet is transmitted over a PPP link. In the solution based on the suspend/resume principle, the aim is to transmit a long frame as a whole. Thus, the transmission of the packet is suspended if a higher priority packet is waiting for transmission. The transmission of the suspended packet is resumed after the higher priority packet is transmitted. This solution is applicable in such situations when it is possible to control the packet transmission byte-by-byte both in the transmitting terminal and in the receiving terminal. In the solution of queues of fragments, long packets are always divided in such small fragments that no significant delays occur in the transmission of real-time packets. Each data transmission flow is advantageously provided with a separate transmission queue to which the fragments of the packet are formed. The fragment to be transmitted at a given time is selected from the queue with the highest priority at the moment. This is applicable in situations when it is not possible to interrupt the transmission of a packet already initiated. In the communication system according to this solution, the fragmentation of the packets also when there are no higher priority packets to be transmitted, causes unnecessary delays in the transmission of long packets.
In order to implement the solution of queues of fragments, the IETF has modified the PPP-MP protocol by supplementing the MP header field with a class field. This method is called Multi-Class Extension to the Multi-Link PPP, i.e. MCML. The basic idea of this solution is to transmit several MCML protocol instances with the PPP link, thus creating a method for real-time packeting. FIG. 3c shows an example of the framing of a PPP-MCML packet. By means of this class field, it is possible to indicate the priority of each fragment, on the basis of which it is possible to determine the transmission order of the fragments. Identical sequence numbers may be used in each class, i.e. for example the numbers 0-max. The class field is sufficient for separating the fragments of different classes. In practice, the sequence numbering allocated for the use of different classes may vary in different applications. FIG. 3d shows an example situation where link layer fragments composed of three different data transmission flows are transmitted. For the sake of clarity, only the MCML header information is shown in the figure. Different fragments are separated from each other with thicker vertical lines. In this example, the priority is determined on the basis of the class in such a way that the higher the class the higher the priority. A class 1 data transmission flow is for example the transmission of a non-real time data file, for which a sequence series e.g. in the order of 0 to 999 is determined. A class 2 data transmission flow can be for example the transmission of a video signal, which is attempted to be conducted in as real time as possible so that the video information to be generated at the receiving stage would be as free as possible of interference. The fragments of this class are allocated a sequence series, for example between 0 and 299. A class 3 data transmission flow can be for example the transmission of an audio signal, which requires an even higher real time degree than the video signal. The fragments of class 3 are allocated a sequence series of e.g. from 0 to 99. The value 1 of the beginning flag (B) indicates that the fragment in question is the first one in the fragmented packet. Correspondingly, the value 1 of the end flag (E) indicates that the fragment in question is the last one in the fragmented packet. If both the beginning flag and the end flag have the value 1, it indicates that the fragment contains the entire packet. Packets composed of an audio signal are typically short, and therefore they can often be transmitted in one fragment. This method requires that the size of the fragment to be transmitted is known before the transmission. Thus the transmission cannot be suspended even though a higher priority packet arrived to be transmitted.
However, the above solution has the drawback that the fragmentation of the packets increases the amount of information to be transmitted, because the information has to be supplemented with header information. Thus, the smaller the fragment size, the larger the share of the header information. Furthermore, fragmenting the packets also when there are no higher priority packets to be transmitted, causes unnecessary delays in the data transmission and unnecessary loads in the communication system.
The objective of the present invention is to enhance packet transmission in such a way that unnecessary fragmentation of the packets can be avoided, nevertheless achieving as small a delay as possible in the transmission of packets requiring real-time data transmission. This invention implements a real-time packeting principle of the suspend/resume type, differing from the real-time packeting already suggested by the IETF. The invention is based on the idea that in link layer packets, part of the header information is transferred to be transmitted in the end of the packet, after the information part contained in the packet. The method according to the present invention is primarily characterized in what will be presented in the characterizing part of the appended claim 1. The communication system according to the present invention is primarily characterized in what will be presented in the characterizing part of the appended claim 8. The wireless communication device according to the invention is primarily characterized in what will be presented in the characterizing part of the appended claim 12.
With the present invention, considerable advantages are achieved when compared with methods and systems of prior art. The method according to the invention enables the transmission of large packets especially in low bit rate serial mode data transmission connections without unnecessary fragmentation, when there are no higher priority packets to be transmitted, and correspondingly ensures a minimum delay for packets requiring real-time transmission. With the method according to the invention, a data transmission connection can be transferred from one mobile communication network to another in such a way that a data transmission connection which meets the requirements as well as possible can be established for each active data transmission flow if it is feasible within the scope of the capacity of the mobile communication network.
In the following, the invention will be described in more detail with reference to the appended drawings, in which: